import 'package:gameplay_flutter/generated/json/base/json_convert_content.dart';
import 'package:gameplay_flutter/lib_basemodel/devices_info/devices_info_model.dart';
import 'package:json_annotation/json_annotation.dart';


DevicesInfoModel $DevicesInfoModelFromJson(Map<String, dynamic> json) {
  final DevicesInfoModel devicesInfoModel = DevicesInfoModel();
  final String? appName = jsonConvert.convert<String>(json['appName']);
  if (appName != null) {
    devicesInfoModel.appName = appName;
  }
  final String? product = jsonConvert.convert<String>(json['product']);
  if (product != null) {
    devicesInfoModel.product = product;
  }
  final String? appUser = jsonConvert.convert<String>(json['appUser']);
  if (appUser != null) {
    devicesInfoModel.appUser = appUser;
  }
  final String? cityName = jsonConvert.convert<String>(json['cityName']);
  if (cityName != null) {
    devicesInfoModel.cityName = cityName;
  }
  final String? ipCity = jsonConvert.convert<String>(json['ipCity']);
  if (ipCity != null) {
    devicesInfoModel.ipCity = ipCity;
  }
  final String? userCity = jsonConvert.convert<String>(json['userCity']);
  if (userCity != null) {
    devicesInfoModel.userCity = userCity;
  }
  final String? latitude = jsonConvert.convert<String>(json['latitude']);
  if (latitude != null) {
    devicesInfoModel.latitude = latitude;
  }
  final String? longitude = jsonConvert.convert<String>(json['longitude']);
  if (longitude != null) {
    devicesInfoModel.longitude = longitude;
  }
  final String? gpsType = jsonConvert.convert<String>(json['gpsType']);
  if (gpsType != null) {
    devicesInfoModel.gpsType = gpsType;
  }
  final String? device = jsonConvert.convert<String>(json['device']);
  if (device != null) {
    devicesInfoModel.device = device;
  }
  final String? deviceID = jsonConvert.convert<String>(json['deviceID']);
  if (deviceID != null) {
    devicesInfoModel.deviceID = deviceID;
  }
  final String? platform = jsonConvert.convert<String>(json['platform']);
  if (platform != null) {
    devicesInfoModel.platform = platform;
  }
  final String? mac = jsonConvert.convert<String>(json['mac']);
  if (mac != null) {
    devicesInfoModel.mac = mac;
  }
  final String? jail = jsonConvert.convert<String>(json['jail']);
  if (jail != null) {
    devicesInfoModel.jail = jail;
  }
  final String? launch = jsonConvert.convert<String>(json['launch']);
  if (launch != null) {
    devicesInfoModel.launch = launch;
  }
  final String? manufacturer = jsonConvert.convert<String>(json['manufacturer']);
  if (manufacturer != null) {
    devicesInfoModel.manufacturer = manufacturer;
  }
  final String? network = jsonConvert.convert<String>(json['network']);
  if (network != null) {
    devicesInfoModel.network = network;
  }
  final String? screenDip = jsonConvert.convert<String>(json['screenDip']);
  if (screenDip != null) {
    devicesInfoModel.screenDip = screenDip;
  }
  final String? screenHeight = jsonConvert.convert<String>(json['screenHeight']);
  if (screenHeight != null) {
    devicesInfoModel.screenHeight = screenHeight;
  }
  final String? screenWidth = jsonConvert.convert<String>(json['screenWidth']);
  if (screenWidth != null) {
    devicesInfoModel.screenWidth = screenWidth;
  }
  final String? system = jsonConvert.convert<String>(json['system']);
  if (system != null) {
    devicesInfoModel.system = system;
  }
  final String? systemVersion = jsonConvert.convert<String>(json['systemVersion']);
  if (systemVersion != null) {
    devicesInfoModel.systemVersion = systemVersion;
  }
  final String? vendor = jsonConvert.convert<String>(json['vendor']);
  if (vendor != null) {
    devicesInfoModel.vendor = vendor;
  }
  final String? version = jsonConvert.convert<String>(json['version']);
  if (version != null) {
    devicesInfoModel.version = version;
  }
  final String? timestamp = jsonConvert.convert<String>(json['timestamp']);
  if (timestamp != null) {
    devicesInfoModel.timestamp = timestamp;
  }
  final String? imei = jsonConvert.convert<String>(json['imei']);
  if (imei != null) {
    devicesInfoModel.imei = imei;
  }
  final String? imei2 = jsonConvert.convert<String>(json['imei2']);
  if (imei2 != null) {
    devicesInfoModel.imei2 = imei2;
  }
  final String? firstTime = jsonConvert.convert<String>(json['firstTime']);
  if (firstTime != null) {
    devicesInfoModel.firstTime = firstTime;
  }
  final String? webviewVersion = jsonConvert.convert<String>(json['webviewVersion']);
  if (webviewVersion != null) {
    devicesInfoModel.webviewVersion = webviewVersion;
  }
  final String? userAgent = jsonConvert.convert<String>(json['userAgent']);
  if (userAgent != null) {
    devicesInfoModel.userAgent = userAgent;
  }
  final String? deviceID_SM = jsonConvert.convert<String>(json['deviceID_SM']);
  if (deviceID_SM != null) {
    devicesInfoModel.deviceID_SM = deviceID_SM;
  }
  final String? systemEtoc = jsonConvert.convert<String>(json['systemEtoc']);
  if (systemEtoc != null) {
    devicesInfoModel.systemEtoc = systemEtoc;
  }
  final String? dylib = jsonConvert.convert<String>(json['dylib']);
  if (dylib != null) {
    devicesInfoModel.dylib = dylib;
  }
  final String? ambiguousDylib = jsonConvert.convert<String>(json['ambiguousDylib']);
  if (ambiguousDylib != null) {
    devicesInfoModel.ambiguousDylib = ambiguousDylib;
  }
  final String? battery = jsonConvert.convert<String>(json['battery']);
  if (battery != null) {
    devicesInfoModel.battery = battery;
  }
  final String? sim = jsonConvert.convert<String>(json['sim']);
  if (sim != null) {
    devicesInfoModel.sim = sim;
  }
  final String? wifiMac = jsonConvert.convert<String>(json['wifiMac']);
  if (wifiMac != null) {
    devicesInfoModel.wifiMac = wifiMac;
  }
  return devicesInfoModel;
}

Map<String, dynamic> $DevicesInfoModelToJson(DevicesInfoModel entity) {
  final Map<String, dynamic> data = <String, dynamic>{};
  data['appName'] = entity.appName;
  data['product'] = entity.product;
  data['appUser'] = entity.appUser;
  data['cityName'] = entity.cityName;
  data['ipCity'] = entity.ipCity;
  data['userCity'] = entity.userCity;
  data['latitude'] = entity.latitude;
  data['longitude'] = entity.longitude;
  data['gpsType'] = entity.gpsType;
  data['device'] = entity.device;
  data['deviceID'] = entity.deviceID;
  data['platform'] = entity.platform;
  data['mac'] = entity.mac;
  data['jail'] = entity.jail;
  data['launch'] = entity.launch;
  data['manufacturer'] = entity.manufacturer;
  data['network'] = entity.network;
  data['screenDip'] = entity.screenDip;
  data['screenHeight'] = entity.screenHeight;
  data['screenWidth'] = entity.screenWidth;
  data['system'] = entity.system;
  data['systemVersion'] = entity.systemVersion;
  data['vendor'] = entity.vendor;
  data['version'] = entity.version;
  data['timestamp'] = entity.timestamp;
  data['imei'] = entity.imei;
  data['imei2'] = entity.imei2;
  data['firstTime'] = entity.firstTime;
  data['webviewVersion'] = entity.webviewVersion;
  data['userAgent'] = entity.userAgent;
  data['deviceID_SM'] = entity.deviceID_SM;
  data['systemEtoc'] = entity.systemEtoc;
  data['dylib'] = entity.dylib;
  data['ambiguousDylib'] = entity.ambiguousDylib;
  data['battery'] = entity.battery;
  data['sim'] = entity.sim;
  data['wifiMac'] = entity.wifiMac;
  return data;
}

extension DevicesInfoModelExtension on DevicesInfoModel {
  DevicesInfoModel copyWith({
    String? appName,
    String? product,
    String? appUser,
    String? cityName,
    String? ipCity,
    String? userCity,
    String? latitude,
    String? longitude,
    String? gpsType,
    String? device,
    String? deviceID,
    String? platform,
    String? mac,
    String? jail,
    String? launch,
    String? manufacturer,
    String? network,
    String? screenDip,
    String? screenHeight,
    String? screenWidth,
    String? system,
    String? systemVersion,
    String? vendor,
    String? version,
    String? timestamp,
    String? imei,
    String? imei2,
    String? firstTime,
    String? webviewVersion,
    String? userAgent,
    String? deviceID_SM,
    String? systemEtoc,
    String? dylib,
    String? ambiguousDylib,
    String? battery,
    String? sim,
    String? wifiMac,
  }) {
    return DevicesInfoModel()
      ..appName = appName ?? this.appName
      ..product = product ?? this.product
      ..appUser = appUser ?? this.appUser
      ..cityName = cityName ?? this.cityName
      ..ipCity = ipCity ?? this.ipCity
      ..userCity = userCity ?? this.userCity
      ..latitude = latitude ?? this.latitude
      ..longitude = longitude ?? this.longitude
      ..gpsType = gpsType ?? this.gpsType
      ..device = device ?? this.device
      ..deviceID = deviceID ?? this.deviceID
      ..platform = platform ?? this.platform
      ..mac = mac ?? this.mac
      ..jail = jail ?? this.jail
      ..launch = launch ?? this.launch
      ..manufacturer = manufacturer ?? this.manufacturer
      ..network = network ?? this.network
      ..screenDip = screenDip ?? this.screenDip
      ..screenHeight = screenHeight ?? this.screenHeight
      ..screenWidth = screenWidth ?? this.screenWidth
      ..system = system ?? this.system
      ..systemVersion = systemVersion ?? this.systemVersion
      ..vendor = vendor ?? this.vendor
      ..version = version ?? this.version
      ..timestamp = timestamp ?? this.timestamp
      ..imei = imei ?? this.imei
      ..imei2 = imei2 ?? this.imei2
      ..firstTime = firstTime ?? this.firstTime
      ..webviewVersion = webviewVersion ?? this.webviewVersion
      ..userAgent = userAgent ?? this.userAgent
      ..deviceID_SM = deviceID_SM ?? this.deviceID_SM
      ..systemEtoc = systemEtoc ?? this.systemEtoc
      ..dylib = dylib ?? this.dylib
      ..ambiguousDylib = ambiguousDylib ?? this.ambiguousDylib
      ..battery = battery ?? this.battery
      ..sim = sim ?? this.sim
      ..wifiMac = wifiMac ?? this.wifiMac;
  }
}